/*
 * Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved.
 */
#ifndef __GC2053_FORCAR_CMOS_EX_H_
#define __GC2053_FORCAR_CMOS_EX_H_

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

static const ISP_CMOS_LCAC_S g_stIspLCac = {
	
    /*bEnable*/
    1,
	/*u16PurpleDetRange*/
	30,
	/*VarThr*/
	0,
    /*au16RLumaThd*/
    {1500, 1500, 0},
    /*au16GLumaThd*/
    {1500, 1500, 0},
    /*au16BLumaThd*/
    {4095, 1500, 0},
    /*au16YLumaThd*/
    {3200, 1500, 0},
    /*as16CbCrRatio*/
    { -50, -50, -50},    
	/*enOpMode*/
    0,
	/*stManual*/
    {
        //u8DePurpleCrStr
        0,
        //u8DePurpleCbStr 
        3
    },
	/*stAuto*/
    {
        //u8DePurpleCrStr
    	{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
        //u8DePurpleCbStr    	
    	{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
    }
};


static const ISP_CMOS_LCAC_S g_stIspLCacWdr = {
	
	/*bEnable*/
	1,
	/*u16PurpleDetRange*/
	30,
	/*VarThr*/
	130,
    /*au16RLumaThd*/
    {1500, 1500, 0},
    /*au16GLumaThd*/
    {1500, 1500, 0},
    /*au16BLumaThd*/
    {4095, 1500, 0},
    /*au16YLumaThd*/
    {3200, 1500, 0},
    /*as16CbCrRatio*/
    { -50, -50, -50},    
	/*enOpMode*/
	0,
	/*stManual*/
	{
		//u8DePurpleCrStr
		0,
		//u8DePurpleCbStr 
		3
	},
	/*stAuto*/
	{
		//u8DePurpleCrStr
		{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
		//u8DePurpleCbStr		
		{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
	}
};


static const ISP_CMOS_DPC_S g_stCmosDpc = {
    /* ISO */
    /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800 */
    {   0,   0, 100, 152,  220,  220,  220,   220,   220,   220,    152,    152,    152,    152,     152,     152}, /* au16Strength[16] */
    {   0,   0,   0,   0,    0,    0,    0,     0,     0,     0,     50,     50,     50,     50,      50,      50}, /* au16BlendRatio[16] */
    0,       /* 0 for after drc, 1 for before wdr */
};

static const ISP_CMOS_GE_S g_stIspGe = {
    /* For GE */
    1,    /* bEnable */
    13,    /* u8Slope */
    13,    /* u8SensiSlope */
    4800, /* u16SensiThr */
    /* ISO */
    /*   1,    2,      4,     8,    16,    32,    64,   128,   256,   512,  1024,  2048,  4096,  8192, 16384, 32768 */
    { 4800,  4800,  4800,  4800,  4960,  4960,  4960,  4960,  5120,  5120,  5120,  5120,  5280,  5280,  5280,  5280}, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    {  128,   128,   128,   128,   129,   129,   129,   129,   130,   130,   130,   130,   131,   131,   131,   131}, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    {16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768} /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_GE_S g_stIspWdrGe = {
    /* For GE */
    1,    /* bEnable */
    13,    /* u8Slope */
    13,    /* u8SensiSlope */
    4800, /* u16SensiThr */

    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192,16384, 32768 */
    { 4800,  4800,  4800,  4800,  4960,  4960,  4960,  4960,  5120,  5120,  5120,  5120,  5280,  5280,  5280,  5280}, /* au16Threshold[ISP_AUTO_ISO_STRENGTH_NUM] */
    {  128,   128,   128,   128,   129,   129,   129,   129,   130,   130,   130,   130,   131,   131,   131,   131}, /* au16Strength[ISP_AUTO_ISO_STRENGTH_NUM] */
    {16384, 16384, 16384, 16384, 16384, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768} /* au16NpOffset[ISP_AUTO_ISO_STRENGTH_NUM] */
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaic = {
    1,    // bEnable
    /* au8NonDirStr */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   64,   64,   64,   64,    64,    64,   64,   64,   64,   64,   64,    64,    64},
    /* au8NonDirLFDetailEhc */
    { 32,   32,   30,   28,   28,   28,   24,    22,    20,   18,   18,   18,   18,   18,    18,    18},
    /* au8NonDirHFDetailEhc */
    {  3,    3,    3,    5,    7,    7,    7,     7,     7,    7,    7,    7,    7,    7,     7,     7},
    /* au8DetailSmoothRange */
    {  1,    2,    2,    3,    3,    3,    4,     4,     5,    5,    7,    7,    7,    7,     7,     7},
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaicWdr = {
    1,    // bEnable
    /* au8NonDirStr */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   48,   48,   48,   32,    32,    32,   32,   16,   16,   16,   16,    16,    16},
    /* au8NonDirLFDetailEhc */
    { 40,   40,   40,   40,   32,   24,   18,    16,    16,   16,   16,   16,   16,   16,    16,    16},
    /* au8NonDirHFDetailEhc */
    {  3,    3,    3,    3,    3,    3,    5,     5,     5,    5,    5,    5,    5,    5,     5,     5},
    /* au8DetailSmoothRange */
    {  4,    4,    4,    4,    4,    4,    5,     5,     5,    5,    7,    7,    7,    7,     7,     7},
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspAntiFalseColor = {
    1,    /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 25,   25,   20,   20,   20,   25,   22,   12,     12,    6,    5,    4,    3,    2,     1,     0}, /* au8AntiFalseColorThreshold */
    { 31,   26,   20,   20,   20,   25,   22,   15,     12,    6,    5,    4,    3,    2,     1,     0}, /* au8AntiFalseColorStrength */
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspWdrAntiFalseColor = {
    1,    /* bEnable */
    /* 1,    2,    4,    8,   16,   32,   64,   128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {  4,    4,    4,    4,    4,    4,    4,     4,    4,    4,    4,    4,    3,    2,     1,     0}, /* au8AntiFalseColorThreshold */
    {  4,    4,    4,    4,    4,    4,    4,     4,    4,    4,    4,    4,    3,    2,     1,     0}, /* au8AntiFalseColorStrength */
};

/***BAYER NR**/
static ISP_CMOS_NOISE_CALIBRATION_S g_stIspNoiseCalibratio = {
    9,     // Calibration Lut Num
    /*************Calibration LUT Table*************/
    {
        {100.000000f,   0.055957f,  0.015088f},
        {200.000000f,   0.110436f,  0.000000f},
        {400.000000f,   0.208753f,  0.000000f},
        {800.000000f,   0.430601f,  0.000000f},
        {1600.000000f,  0.868605f,  0.000000f},
        {3200.000000f,  1.698758f,  0.741997f},
        {6400.000000f,  3.370965f,  4.415539f},
        {12800.000000f, 6.607119f,  15.181902f},
        {25600.000000f, 12.530797f, 58.288128f},
    }
    /*********************************************/
};
static const ISP_CMOS_BAYERNR_S g_stIspBayerNr = {
    1,      // bEnable
    0,      // bBnrMonoSensorEn
    1,      // bNrLscEnable
    96,     // u8BnrLscMaxGain
    256,    // u16BnrLscCmpStrength
    {30, 40, 50, 60, 70, 65, 65, 60, 50, 50, 50, 50, 50, 50, 40, 40}, //FineStr
    {
        {1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3}, // ChromaStrR
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGr
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGb
        {1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3}  // ChromaStrB
    },
    {0, 0, 0, 0},                // WDRFrameStr
    {0, 0, 0, 0},                // FusionFrameStr
    {
        {90, 100, 110, 120, 120, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    //CoarseStrR
        {90, 100, 110, 120, 120, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    //CoarseStrGR
        {90, 100, 110, 120, 120, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170},    //CoarseStrGB
        {90, 100, 110, 120, 120, 120, 130, 150, 160, 170, 170, 170, 170, 170, 170, 170}     //CoarseStrB
    },
    {30, 30, 25, 20, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},     // lutCoringWeight
    {
        90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, \
        90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100, 100, 100, 100
    },   // CoringRatio
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNrWdr2To1 = {
    1,      // bEnable
    0,      // bBnrMonoSensorEn
    0,      // bNrLscEnable
    96,     // u8BnrLscMaxGain
    256,    // u16BnrLscCmpStrength
    {70, 80, 85, 90, 95, 75, 70, 65, 60, 55, 50, 40, 40, 30, 30, 30},     // FineStr
    {
        {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3}, // ChromaStrR
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGr
        {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}, // ChromaStrGb
        {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3} // ChromaStrB
    },
    { 9, 7, 5, 0},              // WDRFrameStr
    {26, 10, 0, 0},              // FusionCoarseStr
    {
        {100, 110, 110, 110, 110, 110, 110, 140, 160, 160, 180, 200, 200, 200, 200, 200},    // CoarseStrR
        {100, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110},    // CoarseStrGR
        {100, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110},    // CoarseStrGB
        {100, 110, 110, 110, 110, 120, 120, 140, 160, 160, 180, 200, 200, 200, 200, 200}     // CoarseStrB
    },
    {50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},     // lutCoringWeight
    {
        90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, \
        90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100, 100, 100, 100
    },  // coring ratio
};


static const ISP_CMOS_LDCI_S g_stIspLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    36,

    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* au8HePosWgt */
    { 50,   50,   50,   56,   64,   48,    0,     0,     0,    0,    0,    0,    0,    0,     0,     0},

    /* au8HePosSigma */
    { 80,   72,   64,   56,   48,   32,   24,    20,    12,    8,    6,    2,    1,    1,     1,     1},

    /* au8HePosMean */
    {  0,    0,   40,   40,   40,   50,   60,    60,    60,   60,   60,   60,   60,   60,    60,    60},

    /* au8HeNegWgt */
    { 50,   45,   45,   45,   45,   40,   40,    30,    20,   10,    0,    0,    0,    0,     0,     0},

    /* au8HeNegSigma */
    { 80,   80,   80,   80,   80,   72,   64,    54,    36,    8,    6,    2,    1,    1,     1,     1},

    /* au8HeNegMean */
    {128,  128,   50,   60,   70,   70,   70,    70,    70,   70,   70,   70,   70,   70,    70,    70},

    /* au16BlcCtrl */
    { 20,   20,   20,   20,   20,   20,   30,    30,    30,   30,   30,   30,   30,   30,    30,    30}
};

static const ISP_CMOS_LDCI_S g_stIspWdrLdci = {
    /* bEnable */
    1,

    /* u8GaussLPFSigma */
    36,

    /* 1,    2,    4,    8,   16,   32,   64,   128,   256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* au8HePosWgt */
    { 16,   16,   12,    8,    4,    0,    0,     0,     0,    0,    0,    0,    0,    0,     0,     0},

    /* au8HePosSigma */
    { 80,   80,   80,   80,   80,   80,   80,    80,    80,   80,   80,   80,   80,   80,    80,    80},

    /* au8HePosMean */
    { 32,   32,   32,   32,   32,   32,   32,    32,    32,   32,   32,   32,   32,   32,    32,    32},

    /* au8HeNegWgt */
    { 32,   32,   32,   45,   45,   24,   12,     8,     6,    0,    0,    0,    0,    0,     0,     0},

    /* au8HeNegSigma */
    { 80,   80,   80,   80,   80,   80,   80,    80,    80,   80,   80,   80,   80,   80,    80,    80},

    /* au8HeNegMean */
    {180,  180,  180,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,     0,     0},

    /* au16BlcCtrl */
    { 20,   20,   20,   20,   30,   30,   30,    30,    30,   30,   30,   30,   30,   30,    30,    30}
};

static const ISP_CMOS_GAMMA_S g_stIspGamma = {
    /* au16Gamma[GAMMA_EXT_NODE_NUMBER] */
    {
        0, 19, 38, 58, 77, 97, 117, 137, 156, 176, 195, 215, 234, 253, 272, 290, 308, 326, 344, 364, 383, 401, 419, 436, 453, 470, 487, 504, 521, 539, 557, 576,
        596, 617, 627, 637, 648, 658, 669, 679, 690, 701, 712, 723, 734, 745, 757, 768, 779, 791, 803, 815, 827, 839, 851, 863, 876, 888, 901, 914, 927, 940,
        953, 967, 981, 987, 994, 1001, 1008, 1015, 1022, 1029, 1036, 1043, 1051, 1058, 1066, 1073, 1081, 1088, 1096, 1104, 1111, 1119, 1127, 1135, 1143,
        1150, 1158, 1166, 1174, 1182, 1190, 1198, 1206, 1214, 1222, 1230, 1238, 1246, 1254, 1262, 1270, 1278, 1286, 1294, 1302, 1310, 1318, 1326, 1334,
        1341, 1349, 1357, 1365, 1372, 1380, 1387, 1395, 1402, 1409, 1417, 1424, 1431, 1438, 1445, 1452, 1459, 1466, 1472, 1479, 1485, 1492, 1499, 1505,
        1511, 1518, 1524, 1531, 1537, 1543, 1549, 1556, 1562, 1568, 1574, 1580, 1586, 1592, 1598, 1604, 1610, 1616, 1622, 1628, 1634, 1639, 1645, 1651,
        1657, 1663, 1668, 1674, 1680, 1685, 1691, 1697, 1702, 1708, 1713, 1719, 1724, 1730, 1736, 1741, 1747, 1752, 1758, 1763, 1769, 1774, 1780, 1785,
        1790, 1796, 1801, 1807, 1812, 1818, 1823, 1829, 1834, 1840, 1845, 1850, 1856, 1861, 1867, 1872, 1877, 1883, 1888, 1893, 1899, 1904, 1909, 1915,
        1920, 1925, 1930, 1936, 1941, 1946, 1951, 1957, 1962, 1967, 1972, 1977, 1982, 1988, 1993, 1998, 2003, 2008, 2013, 2018, 2023, 2028, 2033, 2038,
        2043, 2048, 2053, 2058, 2063, 2068, 2073, 2078, 2082, 2087, 2092, 2097, 2102, 2107, 2111, 2116, 2121, 2126, 2131, 2135, 2140, 2145, 2149, 2154,
        2159, 2164, 2168, 2173, 2177, 2182, 2187, 2191, 2196, 2200, 2205, 2210, 2214, 2219, 2223, 2228, 2232, 2237, 2241, 2246, 2250, 2254, 2259, 2263,
        2268, 2272, 2276, 2281, 2285, 2289, 2294, 2298, 2302, 2307, 2311, 2315, 2319, 2324, 2328, 2332, 2336, 2340, 2344, 2349, 2353, 2357, 2361, 2365,
        2369, 2373, 2377, 2381, 2385, 2389, 2393, 2397, 2401, 2405, 2409, 2413, 2416, 2420, 2424, 2428, 2432, 2436, 2439, 2443, 2447, 2450, 2454, 2458,
        2461, 2465, 2468, 2472, 2475, 2479, 2482, 2486, 2489, 2493, 2496, 2500, 2503, 2506, 2510, 2513, 2516, 2520, 2523, 2526, 2529, 2533, 2536, 2539,
        2542, 2546, 2549, 2552, 2555, 2558, 2561, 2565, 2568, 2571, 2574, 2577, 2580, 2583, 2586, 2590, 2593, 2596, 2599, 2602, 2605, 2608, 2611, 2614,
        2617, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642, 2646, 2649, 2652, 2656, 2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2690,
        2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714, 2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756, 2759, 2762,
        2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785, 2788, 2791, 2794, 2796, 2799, 2802, 2805, 2808, 2811, 2814, 2817, 2820, 2822, 2825, 2828, 2831,
        2834, 2837, 2840, 2843, 2845, 2848, 2851, 2853, 2856, 2859, 2862, 2865, 2868, 2871, 2874, 2877, 2879, 2882, 2885, 2887, 2890, 2893, 2896, 2899,
        2901, 2904, 2907, 2909, 2912, 2915, 2918, 2920, 2923, 2926, 2929, 2932, 2934, 2937, 2940, 2942, 2945, 2948, 2951, 2954, 2956, 2959, 2962, 2964,
        2966, 2969, 2972, 2974, 2977, 2980, 2983, 2986, 2988, 2991, 2994, 2996, 2998, 3001, 3004, 3006, 3009, 3012, 3015, 3018, 3020, 3023, 3026, 3028,
        3031, 3033, 3035, 3038, 3040, 3043, 3046, 3048, 3051, 3054, 3057, 3059, 3062, 3064, 3066, 3069, 3071, 3074, 3077, 3080, 3082, 3085, 3088, 3090,
        3093, 3095, 3097, 3100, 3102, 3105, 3108, 3110, 3113, 3115, 3117, 3120, 3122, 3125, 3128, 3130, 3133, 3135, 3138, 3140, 3143, 3145, 3147, 3150,
        3152, 3155, 3158, 3160, 3163, 3165, 3167, 3170, 3172, 3175, 3178, 3180, 3183, 3185, 3187, 3189, 3192, 3194, 3196, 3199, 3201, 3204, 3207, 3209,
        3211, 3214, 3217, 3219, 3222, 3224, 3226, 3228, 3231, 3233, 3235, 3238, 3241, 3243, 3245, 3247, 3250, 3252, 3254, 3257, 3260, 3262, 3264, 3267,
        3269, 3271, 3273, 3276, 3279, 3281, 3283, 3286, 3288, 3290, 3292, 3295, 3298, 3300, 3302, 3305, 3307, 3309, 3311, 3313, 3316, 3318, 3320, 3322,
        3325, 3327, 3329, 3332, 3335, 3337, 3339, 3342, 3344, 3346, 3348, 3350, 3353, 3355, 3357, 3360, 3362, 3364, 3366, 3368, 3371, 3373, 3375, 3378,
        3380, 3382, 3384, 3386, 3389, 3391, 3393, 3396, 3398, 3400, 3402, 3405, 3407, 3409, 3411, 3413, 3416, 3418, 3420, 3423, 3425, 3427, 3429, 3431,
        3434, 3436, 3438, 3441, 3443, 3445, 3447, 3449, 3452, 3454, 3456, 3459, 3461, 3463, 3465, 3467, 3469, 3471, 3473, 3475, 3478, 3480, 3482, 3484,
        3487, 3489, 3491, 3494, 3496, 3498, 3500, 3502, 3504, 3506, 3508, 3511, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3528, 3530, 3532, 3534, 3536,
        3538, 3540, 3542, 3545, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3564, 3566, 3568, 3570, 3572, 3574, 3576, 3578, 3581, 3583, 3585, 3587,
        3589, 3591, 3593, 3595, 3598, 3600, 3602, 3604, 3606, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3622, 3624, 3626, 3628, 3631, 3633, 3635, 3637,
        3639, 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663, 3665, 3667, 3670, 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686,
        3688, 3690, 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732, 3734,
        3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3767, 3769, 3771, 3773, 3775, 3777, 3779, 3781,
        3783, 3785, 3787, 3789, 3791, 3793, 3795, 3797, 3799, 3801, 3803, 3804, 3806, 3808, 3810, 3812, 3814, 3816, 3818, 3820, 3822, 3824, 3826, 3828,
        3830, 3832, 3834, 3836, 3837, 3839, 3841, 3843, 3845, 3847, 3849, 3851, 3853, 3855, 3857, 3858, 3860, 3862, 3864, 3866, 3868, 3870, 3872, 3873,
        3875, 3877, 3879, 3881, 3883, 3885, 3887, 3888, 3890, 3892, 3894, 3896, 3898, 3900, 3902, 3904, 3905, 3907, 3909, 3911, 3913, 3915, 3917, 3919,
        3920, 3922, 3924, 3926, 3928, 3930, 3932, 3934, 3935, 3937, 3939, 3941, 3943, 3945, 3947, 3949, 3950, 3952, 3954, 3955, 3957, 3959, 3961, 3963,
        3965, 3967, 3969, 3971, 3972, 3974, 3976, 3977, 3979, 3981, 3983, 3985, 3987, 3989, 3991, 3993, 3994, 3996, 3998, 4000, 4001, 4003, 4005, 4006,
        4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4023, 4025, 4027, 4028, 4030, 4032, 4034, 4036, 4037, 4039, 4041, 4042, 4044, 4046, 4048, 4050,
        4052, 4054, 4056, 4058, 4059, 4061, 4063, 4064, 4066, 4068, 4070, 4072, 4073, 4075, 4077, 4078, 4080, 4082, 4084, 4086, 4087, 4089, 4091, 4092,
        4094, 4095
    }
};

static const ISP_CMOS_GAMMA_S g_stIspGammaFSWDR = {
    {
        0, 5, 10, 15, 20, 25, 30, 35, 40, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 94, 99, 103, 108, 113, 118, 123, 128, 133, 138, 142, 147, 152, 157, 162, 167, 171,
        176, 181, 186, 191, 196, 200, 205, 210, 215, 220, 224, 229, 234, 239, 244, 249, 253, 258, 263, 268, 273, 278, 283, 287, 292, 297, 302, 307, 312, 317,
        321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466,
        472, 477, 482, 487, 492, 498, 503, 508, 513, 519, 524, 529, 535, 540, 545, 551, 556, 561, 567, 572, 578, 583, 589, 594, 600, 605, 611, 616, 622, 628,
        633, 639, 645, 650, 656, 662, 667, 673, 679, 685, 691, 697, 702, 708, 714, 720, 726, 732, 738, 744, 750, 756, 762, 768, 774, 780, 787, 793, 799, 805,
        811, 817, 824, 830, 836, 842, 849, 855, 861, 867, 874, 880, 886, 893, 899, 905, 912, 918, 925, 931, 937, 944, 950, 957, 963, 970, 976, 982, 989, 995,
        1002, 1008, 1015, 1021, 1028, 1034, 1041, 1047, 1054, 1060, 1067, 1074, 1080, 1087, 1093, 1100, 1106, 1113, 1119, 1126, 1132, 1139, 1145, 1152,
        1159, 1165, 1172, 1178, 1185, 1191, 1198, 1204, 1211, 1217, 1224, 1230, 1237, 1244, 1250, 1257, 1263, 1270, 1276, 1283, 1289, 1295, 1302, 1308,
        1315, 1321, 1328, 1334, 1341, 1347, 1353, 1360, 1366, 1373, 1379, 1385, 1392, 1398, 1404, 1411, 1417, 1423, 1430, 1436, 1442, 1448, 1455, 1461,
        1467, 1473, 1479, 1486, 1492, 1498, 1505, 1511, 1517, 1524, 1530, 1536, 1543, 1549, 1555, 1562, 1568, 1575, 1581, 1587, 1594, 1600, 1607, 1613,
        1620, 1626, 1632, 1639, 1645, 1652, 1658, 1665, 1671, 1678, 1684, 1690, 1697, 1703, 1710, 1716, 1723, 1729, 1736, 1742, 1749, 1755, 1761, 1768,
        1774, 1781, 1787, 1794, 1800, 1806, 1813, 1819, 1826, 1832, 1838, 1845, 1851, 1857, 1864, 1870, 1876, 1883, 1889, 1895, 1902, 1908, 1914, 1920,
        1927, 1933, 1939, 1945, 1952, 1958, 1964, 1970, 1976, 1982, 1988, 1995, 2001, 2007, 2013, 2019, 2025, 2031, 2037, 2043, 2049, 2055, 2060, 2066,
        2072, 2078, 2084, 2090, 2095, 2101, 2107, 2113, 2118, 2124, 2130, 2135, 2141, 2147, 2152, 2158, 2163, 2169, 2174, 2180, 2185, 2190, 2196, 2201,
        2206, 2212, 2217, 2222, 2227, 2232, 2238, 2243, 2248, 2253, 2258, 2263, 2268, 2273, 2278, 2283, 2287, 2292, 2297, 2302, 2307, 2312, 2316, 2321,
        2326, 2330, 2335, 2340, 2344, 2349, 2354, 2358, 2363, 2367, 2372, 2376, 2381, 2385, 2390, 2394, 2398, 2403, 2407, 2411, 2416, 2420, 2424, 2429,
        2433, 2437, 2441, 2446, 2450, 2454, 2458, 2462, 2467, 2471, 2475, 2479, 2483, 2487, 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2519, 2523, 2527,
        2531, 2535, 2539, 2543, 2547, 2551, 2555, 2558, 2562, 2566, 2570, 2574, 2578, 2582, 2585, 2589, 2593, 2597, 2601, 2604, 2608, 2612, 2616, 2619,
        2623, 2627, 2631, 2634, 2638, 2642, 2646, 2649, 2653, 2657, 2660, 2664, 2668, 2671, 2675, 2679, 2683, 2686, 2690, 2694, 2697, 2701, 2705, 2708,
        2712, 2716, 2719, 2723, 2727, 2730, 2734, 2738, 2741, 2745, 2749, 2752, 2756, 2760, 2764, 2768, 2771, 2775, 2779, 2782, 2786, 2789, 2793, 2796,
        2800, 2804, 2807, 2811, 2814, 2818, 2821, 2825, 2828, 2832, 2835, 2839, 2842, 2846, 2849, 2853, 2856, 2860, 2863, 2867, 2870, 2873, 2877, 2880,
        2884, 2887, 2891, 2894, 2897, 2901, 2904, 2908, 2911, 2914, 2918, 2921, 2924, 2928, 2931, 2934, 2938, 2941, 2944, 2948, 2951, 2954, 2958, 2961,
        2964, 2967, 2971, 2974, 2977, 2981, 2984, 2987, 2990, 2994, 2997, 3000, 3003, 3006, 3010, 3013, 3016, 3019, 3023, 3026, 3029, 3032, 3035, 3038,
        3042, 3045, 3048, 3051, 3054, 3057, 3061, 3064, 3067, 3070, 3073, 3076, 3079, 3082, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107, 3110, 3113,
        3116, 3119, 3122, 3125, 3129, 3132, 3135, 3138, 3141, 3144, 3147, 3150, 3153, 3156, 3159, 3162, 3165, 3168, 3171, 3174, 3177, 3180, 3183, 3185,
        3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218, 3221, 3224, 3227, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250, 3252, 3255,
        3258, 3261, 3264, 3267, 3270, 3272, 3275, 3278, 3281, 3284, 3287, 3289, 3292, 3295, 3298, 3301, 3303, 3306, 3309, 3312, 3315, 3317, 3320, 3323,
        3326, 3328, 3331, 3334, 3337, 3339, 3342, 3345, 3348, 3350, 3353, 3356, 3359, 3361, 3364, 3367, 3370, 3372, 3375, 3378, 3380, 3383, 3386, 3388,
        3391, 3394, 3396, 3399, 3402, 3405, 3407, 3410, 3413, 3415, 3418, 3420, 3423, 3426, 3428, 3431, 3434, 3436, 3439, 3442, 3444, 3447, 3449, 3452,
        3455, 3457, 3460, 3462, 3465, 3468, 3470, 3473, 3475, 3478, 3481, 3483, 3486, 3488, 3491, 3493, 3496, 3498, 3501, 3504, 3506, 3509, 3511, 3514,
        3516, 3519, 3521, 3524, 3526, 3529, 3531, 3534, 3536, 3539, 3541, 3544, 3546, 3549, 3551, 3554, 3556, 3559, 3561, 3564, 3566, 3569, 3571, 3574,
        3576, 3579, 3581, 3584, 3586, 3588, 3591, 3593, 3596, 3598, 3601, 3603, 3606, 3608, 3610, 3613, 3615, 3618, 3620, 3622, 3625, 3627, 3630, 3632,
        3634, 3637, 3639, 3642, 3644, 3646, 3649, 3651, 3654, 3656, 3658, 3661, 3663, 3665, 3668, 3670, 3673, 3675, 3677, 3680, 3682, 3684, 3687, 3689,
        3691, 3694, 3696, 3698, 3701, 3703, 3705, 3708, 3710, 3712, 3714, 3717, 3719, 3721, 3724, 3726, 3728, 3731, 3733, 3735, 3737, 3740, 3742, 3744,
        3747, 3749, 3751, 3753, 3756, 3758, 3760, 3762, 3765, 3767, 3769, 3771, 3774, 3776, 3778, 3780, 3783, 3785, 3787, 3789, 3792, 3794, 3796, 3798,
        3801, 3803, 3805, 3807, 3809, 3812, 3814, 3816, 3818, 3820, 3823, 3825, 3827, 3829, 3831, 3834, 3836, 3838, 3840, 3842, 3844, 3847, 3849, 3851,
        3853, 3855, 3857, 3860, 3862, 3864, 3866, 3868, 3870, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3888, 3890, 3892, 3894, 3896, 3898, 3900, 3902,
        3905, 3907, 3909, 3911, 3913, 3915, 3917, 3919, 3921, 3924, 3926, 3928, 3930, 3932, 3934, 3936, 3938, 3940, 3942, 3944, 3946, 3949, 3951, 3953,
        3955, 3957, 3959, 3961, 3963, 3965, 3967, 3969, 3971, 3973, 3975, 3977, 3979, 3981, 3984, 3986, 3988, 3990, 3992, 3994, 3996, 3998, 4000, 4002,
        4004, 4006, 4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4024, 4026, 4028, 4030, 4032, 4034, 4036, 4038, 4040, 4042, 4044, 4046, 4048, 4050,
        4052, 4054, 4056, 4058, 4060, 4062, 4064, 4066, 4068, 4070, 4072, 4074, 4075, 4077, 4079, 4081, 4083, 4085, 4087, 4089, 4091, 4093, 4095
    }
};

static const ISP_CMOS_PREGAMMA_S g_stPreGamma = {
    0,
    {
        3821,    7131,    9741,   11691,   13307,   14713,   15971,   17118,   18179,   20099,   21818,   23385,   24833,   26185,   27456,   28659,
        29804,   30897,   31945,   32952,   33923,   35770,   37506,   39150,   40713,   42207,   43638,   45014,   46340,   47622,   48863,   50066,
        51235,   52373,   53481,   54561,   55616,   57656,   59611,   61491,   63303,   65054,   66749,   68393,   69990,   71543,   73057,   74533,
        75974,   77383,   78761,   80110,   81432,   83999,   86475,   88866,   91182,   93428,   95609,   97731,   99799,  101815,  103784,  105708,
        107590,  109433,  111239,  113010,  114747,  118128,  121395,  124558,  127626,  130606,  133505,  136330,  139084,  141773,  144402,  146973,
        149491,  151957,  154376,  156749,  159079,  161368,  163618,  165831,  168008,  170152,  172263,  174342,  176392,  178413,  180407,  182374,
        184315,  186232,  188125,  189995,  191842,  193668,  197259,  200771,  204210,  207580,  210884,  214126,  217308,  220435,  223509,  226532,
        229506,  232434,  235318,  238159,  240959,  243720,  246443,  249130,  251782,  254400,  256986,  259540,  262064,  264559,  267025,  269464,
        271876,  274262,  276623,  278960,  281273,  283562,  288076,  292504,  296852,  301124,  305323,  309452,  313515,  317515,  321454,  325335,
        329160,  332931,  336651,  340322,  343945,  347521,  351054,  354543,  357991,  361399,  364767,  368099,  371394,  374653,  377878,  381070,
        384230,  387358,  390456,  393523,  396562,  399573,  405512,  411348,  417083,  422724,  428274,  433738,  439119,  444420,  449646,  454798,
        459880,  464894,  469842,  474728,  479554,  484320,  489030,  493685,  498287,  502838,  507339,  511791,  516197,  520557,  524874,  529147,
        533378,  537569,  541720,  545833,  549908,  553946,  557949,  561917,  565852,  569753,  577458,  585040,  592504,  599854,  607096,  614234,
        621272,  628214,  635064,  641824,  648498,  655090,  661601,  668035,  674394,  680681,  686897,  693045,  699128,  705146,  711103,  716999,
        722836,  728616,  734341,  740012,  745630,  751197,  756713,  762181,  767602,  778305,  788831,  799189,  809384,  819425,  829318,  839069,
        848683,  858166,  867523,  876757,  885875,  894879,  903774,  912563,  921249,  938329,  955037,  971395,  987423, 1003139, 1018560, 1033701,
        1048575
    }
};


static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpen = {
    /* u8SkinUmin */
    110,
    /* u8SkinVmin */
    128,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    149,

    /* Manual Para */
    {
        /* au8LumaWgt */
        {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
        /* u16TextureStr */
        {420, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270, 270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150},
        /* u16EdgeStr */
        {120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210, 210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120},
        /* u16TextureFreq; */
        160,
        /* u16EdgeFreq; */
        100,
        /* u8OverShoot; */
        55,
        /* u8UnderShoot; */
        70,
        /* u8shootSupStr; */
        10,
        /* u8shootSupAdj; */
        9,
        /* u8DetailCtrl; */
        128,
        /* u8DetailCtrlThr; */
        180,
        /* u8EdgeFiltStr; */
        60,
        /*u8EdgeFiltMaxCap; */
        18,
        /* u8RGain; */
        28,
        /* u8GGain; */
        32,
        /* u8BGain; */
        31,
        /* u8SkinGain; */
        23,
        /* u8MaxSharpGain; */
        67,
        /* u8WeakDetailGain */
        6

    },
    /* Auto Para */
    {
        /* au16LumaWgt */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {   31,     31,     20,     31,     31,     26,     31,     31,     31,     31,     31,     31,     31,      1,      1,      1},
            {   31, 31, 20, 31, 31, 26, 31, 31, 31, 31, 31, 31, 31, 2, 2, 2},
            {   31, 31, 20, 31, 31, 27, 31, 31, 31, 31, 31, 31, 31, 4, 4, 4},
            {   31, 31, 20, 31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 5, 5, 5},
            {   31, 31, 20, 31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 7, 7, 7},
            {   31, 31, 20, 31, 31, 29, 31, 31, 31, 31, 31, 31, 31, 8, 8, 8},
            {   31, 31, 20, 31, 31, 30, 31, 31, 31, 31, 31, 31, 31, 9, 9, 9},
            {   31, 31, 23, 31, 31, 30, 31, 31, 31, 31, 31, 31, 31, 10, 10, 10},
            {   31, 31, 25, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12},
            {   31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 13, 13, 13},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 14, 14, 14},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 17, 17, 17},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 18, 18, 18},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 19, 19, 19},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20, 20, 20},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 22, 22, 22},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 24, 24, 24},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28}
        },
        /* au16TextureStr  */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {  269,    262,    190,    135,    160,    128,    128,    128,    128,    128,    128,    128,    128,     28,     28,     28},
            {  376, 312, 251, 183, 181, 148, 148, 148, 148, 148, 148, 148, 148, 43, 43, 43},
            {  463, 366, 309, 228, 211, 177, 177, 177, 177, 177, 177, 177, 177, 59, 59, 59},
            {  492, 414, 359, 260, 246, 211, 211, 211, 211, 211, 211, 211, 211, 75, 75, 75},
            {  495, 449, 402, 288, 283, 247, 247, 247, 247, 247, 247, 247, 247, 91, 91, 91},
            {  488, 463, 435, 314, 319, 281, 281, 281, 281, 281, 281, 281, 281, 106, 106, 106},
            {  476, 464, 459, 338, 350, 310, 310, 310, 310, 310, 310, 310, 310, 121, 121, 121},
            {  470, 459, 471, 357, 373, 331, 331, 331, 331, 331, 331, 331, 331, 136, 136, 136},
            {  465, 455, 476, 374, 387, 342, 342, 342, 342, 342, 342, 342, 342, 152, 152, 152},
            {  458, 452, 476, 387, 396, 348, 348, 348, 348, 348, 348, 348, 348, 167, 167, 167},
            {  451, 449, 474, 398, 403, 351, 351, 351, 351, 351, 351, 351, 351, 183, 183, 183},
            {  445, 444, 470, 405, 407, 352, 352, 352, 352, 352, 352, 352, 352, 199, 199, 199},
            {  440, 440, 466, 410, 409, 350, 350, 350, 350, 350, 350, 350, 350, 214, 214, 214},
            {  435, 435, 458, 408, 409, 347, 347, 347, 347, 347, 347, 347, 347, 228, 228, 228},
            {  429, 431, 449, 404, 407, 344, 344, 344, 344, 344, 344, 344, 344, 241, 241, 241},
            {  421, 427, 440, 397, 405, 341, 341, 341, 341, 341, 341, 341, 341, 254, 254, 254},
            {  410, 421, 429, 389, 401, 338, 338, 338, 338, 338, 338, 338, 338, 267, 267, 267},
            {  399, 411, 417, 382, 395, 333, 333, 333, 333, 333, 333, 333, 333, 283, 283, 283},
            {  386, 399, 405, 376, 387, 327, 327, 327, 327, 327, 327, 327, 327, 298, 298, 298},
            {  375, 385, 394, 370, 378, 320, 320, 320, 320, 320, 320, 320, 320, 313, 313, 313},
            {  363, 370, 382, 361, 367, 313, 313, 313, 313, 313, 313, 313, 313, 325, 325, 325},
            {  353, 352, 372, 353, 355, 305, 305, 305, 305, 305, 305, 305, 305, 338, 338, 338},
            {  336, 334, 361, 346, 343, 296, 296, 296, 296, 296, 296, 296, 296, 348, 348, 348},
            {  320, 320, 351, 339, 331, 288, 288, 288, 288, 288, 288, 288, 288, 353, 353, 353},
            {  309, 308, 339, 330, 317, 279, 279, 279, 279, 279, 279, 279, 279, 350, 350, 350},
            {  300, 299, 328, 322, 301, 270, 270, 270, 270, 270, 270, 270, 270, 343, 343, 343},
            {  290, 290, 317, 315, 283, 260, 260, 260, 260, 260, 260, 260, 260, 330, 330, 330},
            {  281, 283, 307, 309, 264, 249, 249, 249, 249, 249, 249, 249, 249, 313, 313, 313},
            {  270, 275, 296, 300, 247, 239, 239, 239, 239, 239, 239, 239, 239, 287, 287, 287},
            {  262, 269, 286, 292, 230, 228, 228, 228, 228, 228, 228, 228, 228, 254, 254, 254},
            {  256, 263, 275, 283, 217, 217, 217, 217, 217, 217, 217, 217, 217, 219, 219, 219},
            {  258, 258, 265, 275, 207, 207, 207, 207, 207, 207, 207, 207, 207, 186, 186, 186}
        },
        /* au16EdgeStr     */
        /* ISO */
        /* 100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400, 3276800 */
        {   {  250,    256,    262,    279,    320,    417,    320,    320,    432,    258,    400,    224,    224,    224,    224,    224},
            {  250, 260, 270, 296, 331, 421, 337, 337, 440, 291, 412, 244, 244, 244, 244, 244},
            {  250, 264, 279, 314, 343, 425, 354, 355, 451, 325, 424, 265, 265, 265, 265, 265},
            {  250, 268, 288, 332, 356, 429, 371, 373, 466, 359, 436, 285, 285, 285, 285, 285},
            {  250, 272, 296, 350, 368, 433, 386, 390, 485, 391, 452, 303, 303, 303, 303, 303},
            {  250, 276, 305, 368, 380, 437, 398, 406, 503, 420, 470, 319, 319, 319, 319, 319},
            {  250, 280, 313, 384, 391, 441, 410, 421, 523, 448, 490, 333, 333, 333, 333, 333},
            {  250, 286, 321, 398, 401, 445, 420, 436, 544, 475, 512, 346, 346, 346, 346, 346},
            {  250, 292, 328, 411, 410, 448, 430, 451, 565, 501, 534, 357, 357, 357, 357, 357},
            {  249, 299, 334, 420, 416, 450, 438, 463, 584, 525, 556, 364, 364, 364, 364, 364},
            {  249, 307, 339, 428, 422, 452, 446, 475, 603, 548, 580, 370, 370, 370, 370, 370},
            {  249, 316, 344, 434, 427, 453, 453, 486, 622, 570, 603, 374, 374, 374, 374, 374},
            {  248, 326, 349, 439, 431, 454, 460, 498, 641, 592, 623, 379, 379, 379, 379, 379},
            {  248, 335, 353, 442, 434, 455, 466, 511, 658, 614, 639, 384, 384, 384, 384, 384},
            {  248, 344, 357, 445, 437, 456, 473, 524, 671, 637, 652, 390, 390, 390, 390, 390},
            {  247, 351, 360, 447, 439, 456, 479, 538, 673, 658, 664, 394, 394, 394, 394, 394},
            {  247, 357, 364, 449, 442, 457, 485, 550, 674, 674, 674, 398, 398, 398, 398, 398},
            {  246, 361, 367, 450, 444, 456, 489, 563, 683, 686, 683, 398, 398, 398, 398, 398},
            {  245, 364, 369, 450, 445, 455, 492, 575, 690, 691, 690, 398, 398, 398, 398, 398},
            {  244, 366, 371, 450, 446, 454, 496, 585, 695, 695, 695, 398, 398, 398, 398, 398},
            {  243, 366, 373, 448, 446, 453, 500, 590, 696, 696, 696, 398, 398, 398, 398, 398},
            {  242, 366, 375, 445, 445, 451, 504, 594, 697, 697, 697, 398, 398, 398, 398, 398},
            {  241, 366, 376, 441, 445, 450, 508, 597, 696, 696, 696, 399, 399, 399, 399, 399},
            {  241, 366, 377, 436, 444, 449, 511, 600, 697, 697, 697, 402, 402, 402, 402, 402},
            {  240, 365, 377, 429, 442, 448, 509, 601, 697, 697, 697, 405, 405, 405, 405, 405},
            {  239, 363, 377, 422, 440, 447, 506, 600, 698, 698, 698, 408, 408, 408, 408, 408},
            {  238, 361, 377, 413, 437, 446, 502, 600, 699, 699, 699, 411, 411, 411, 411, 411},
            {  238, 359, 376, 403, 434, 446, 500, 600, 700, 700, 700, 413, 413, 413, 413, 413},
            {  237, 356, 376, 393, 431, 445, 498, 600, 700, 700, 700, 411, 411, 411, 411, 411},
            {  236, 353, 375, 383, 428, 445, 498, 600, 700, 700, 700, 408, 408, 408, 408, 408},
            {  235, 351, 375, 373, 425, 444, 498, 600, 700, 700, 700, 405, 405, 405, 405, 405},
            {  235, 349, 375, 364, 423, 444, 498, 600, 700, 700, 700, 402, 402, 402, 402, 402}
        },
        /* au16TextureFreq */
        /* ISO */
        /* 100,    200,    400,    800,    1600,    3200,    6400,   12800,   25600,   51200,  102400,  204800,  409600,  819200, 1638400, 3276800 */
        {  160,    170,    180,    180,     160,     160,     155,     170,     170,     170,     170,     170,     170,     170,     170,    170},

        /* au16EdgeFreq */
        {  130,    115,    100,    100,     100,     100,     100,     100,     100,     100,      96,      96,      96,      96,      96,     96},

        /* au8OverShoot */
        {   58,     70,     75,     70,      65,      55,      40,      40,      30,      30,      40,      40,      10,      10,      10,     10},

        /* au8UnderShoot */
        {   70,     87,     90,     80,      80,      70,      60,      55,      45,      45,      50,      50,      15,      15,      15,     15},

        /* au16shootSupStr */
        {    8,      8,      7,       7,      7,       6,       5,       5,       0,       0,       0,       0,       0,       0,       0,      0},

        /* au8ShootSupAdj */
        {    9,      9,      8,       8,      7,       7,       6,       6,       0,       0,       0,       0,       0,       0,       0,      0},

        /* au8DetailCtrl */
        {  128,    128,    128,     128,    128,     128,     128,     128,     128,     128,     120,     120,     120,     120,     120,    120},

        /* au8DetailCtrlThr */
        {  160,    160,    160,     160,    160,     160,     160,     160,     160,     160,     160,     160,     160,     160,     160,    160},

        /* au8EdgeFiltStr */
        {   50,     50,     50,      55,     57,      60,      61,      62,      62,      62,      62,      62,      62,      62,      62,     62},
        /*au8EdgeFiltMaxCap*/
        { 18,   18,    18,  18,    18,   18,    18,    18,      18,   18,    18,    18,    18,    18,    18,   18 },

        /* au8RGain */
        {   28,     31,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8GGain */
        {   31,     31,     31,      31,     16,      16,      16,      16,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8BGain */
        {   31,     31,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8SkinGain */
        {   25,     27,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* u8MaxSharpGain */
        {   67,     70,     72,      74,     80,      80,      80,      80,      80,      80,      80,      80,      80,      80,      80,     80},
        /* au8WeakDetailGain                          */
        {   0,       0,     0,       0,     0,      0,         0,         0,     0,         0,     0,      0,      0,      0,        0,      0  }


    },
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpenWdr = {
    /* u8SkinUmin */
    110,
    /* u8SkinVmin */
    128,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    149,

    /* Manual Para */
    {
        /* au8LumaWgt */
        {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
        /* u16TextureStr */
        {250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270, 270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150},
        /* u16EdgeStr */
        {120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210, 210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120},
        /* u16TextureFreq; */
        160,
        /* u16EdgeFreq; */
        100,
        /* u8OverShoot; */
        55,
        /* u8UnderShoot; */
        70,
        /* u8shootSupStr; */
        10,
        /* u8shootSupAdj; */
        9,
        /* u8DetailCtrl; */
        128,
        /* u8DetailCtrlThr; */
        180,
        /* u8EdgeFiltStr; */
        60,
        /*u8EdgeFiltMaxCap */
        18,
        /* u8RGain; */
        28,
        /* u8GGain; */
        32,
        /* u8BGain; */
        31,
        /* u8SkinGain; */
        23,
        /* u8MaxSharpGain; */
        67,
        /* u8WeakDetailGain */
        6
    },
    /* Auto Para */
    {
        /* au16LumaWgt */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {   31,     31,     20,     31,     31,     26,     31,     31,     31,     31,     31,     31,     31,      1,      1,      1},
            {   31, 31, 20, 31, 31, 26, 31, 31, 31, 31, 31, 31, 31, 2, 2, 2},
            {   31, 31, 20, 31, 31, 27, 31, 31, 31, 31, 31, 31, 31, 4, 4, 4},
            {   31, 31, 20, 31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 5, 5, 5},
            {   31, 31, 20, 31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 7, 7, 7},
            {   31, 31, 20, 31, 31, 29, 31, 31, 31, 31, 31, 31, 31, 8, 8, 8},
            {   31, 31, 20, 31, 31, 30, 31, 31, 31, 31, 31, 31, 31, 9, 9, 9},
            {   31, 31, 23, 31, 31, 30, 31, 31, 31, 31, 31, 31, 31, 10, 10, 10},
            {   31, 31, 25, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, 12},
            {   31, 31, 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 13, 13, 13},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 14, 14, 14},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 17, 17, 17},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 18, 18, 18},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 19, 19, 19},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20, 20, 20},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 22, 22, 22},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 24, 24, 24},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 27, 27, 27},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28},
            {   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 28, 28, 28}
        },
        /* au16TextureStr  */
        /* ISO */
        /*     100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400,3276800 */
        {   {  269,    262,    131,    135,     89,    129,     91,    148,    114,     95,     72,     76,     76,     28,     28,     28},
            {  376, 312, 203, 183, 145, 172, 140, 198, 167, 137, 112, 130, 130, 43, 43, 43},
            {  463, 366, 271, 228, 199, 216, 190, 249, 221, 179, 153, 185, 185, 59, 59, 59},
            {  492, 414, 329, 260, 243, 258, 239, 298, 273, 221, 192, 238, 238, 75, 75, 75},
            {  495, 449, 377, 288, 284, 298, 284, 345, 322, 262, 231, 288, 288, 91, 91, 91},
            {  488, 463, 411, 314, 324, 333, 325, 388, 365, 302, 267, 332, 332, 106, 106, 106},
            {  476, 464, 436, 338, 360, 367, 365, 429, 406, 341, 302, 372, 372, 121, 121, 121},
            {  470, 459, 452, 357, 386, 397, 400, 467, 443, 378, 335, 410, 410, 136, 136, 136},
            {  465, 455, 461, 374, 406, 421, 430, 501, 478, 410, 366, 444, 444, 152, 152, 152},
            {  458, 452, 463, 387, 421, 437, 453, 531, 510, 435, 393, 475, 475, 167, 167, 167},
            {  451, 449, 461, 398, 429, 448, 472, 558, 541, 455, 419, 503, 503, 183, 183, 183},
            {  445, 444, 457, 405, 425, 455, 485, 580, 568, 472, 441, 527, 527, 199, 199, 199},
            {  440, 440, 451, 410, 417, 459, 493, 595, 588, 485, 461, 546, 546, 214, 214, 214},
            {  435, 435, 441, 408, 408, 459, 493, 601, 599, 494, 476, 559, 559, 228, 228, 228},
            {  429, 431, 430, 404, 398, 455, 488, 600, 605, 499, 488, 568, 568, 241, 241, 241},
            {  421, 427, 418, 397, 384, 449, 479, 595, 605, 501, 497, 572, 572, 254, 254, 254},
            {  410, 421, 408, 389, 372, 442, 470, 588, 603, 501, 504, 573, 573, 267, 267, 267},
            {  399, 411, 394, 382, 357, 431, 457, 575, 594, 496, 507, 568, 568, 283, 283, 283},
            {  386, 399, 384, 376, 343, 419, 441, 558, 579, 486, 505, 556, 556, 298, 298, 298},
            {  375, 385, 375, 370, 328, 402, 421, 535, 558, 470, 497, 535, 535, 313, 313, 313},
            {  363, 370, 365, 361, 309, 384, 401, 511, 538, 452, 485, 511, 511, 325, 325, 325},
            {  353, 352, 355, 353, 290, 363, 379, 484, 516, 430, 471, 482, 482, 338, 338, 338},
            {  336, 334, 342, 346, 273, 341, 356, 454, 489, 405, 452, 450, 450, 348, 348, 348},
            {  320, 320, 330, 339, 258, 320, 332, 425, 459, 379, 429, 417, 417, 353, 353, 353},
            {  309, 308, 316, 330, 244, 299, 307, 394, 422, 351, 400, 383, 383, 350, 350, 350},
            {  300, 299, 303, 322, 231, 279, 281, 362, 380, 321, 366, 347, 347, 343, 343, 343},
            {  290, 290, 292, 315, 215, 258, 255, 330, 335, 289, 330, 309, 309, 330, 330, 330},
            {  281, 283, 283, 309, 199, 237, 228, 300, 292, 254, 292, 269, 269, 313, 313, 313},
            {  270, 275, 272, 300, 183, 213, 199, 271, 249, 214, 251, 224, 224, 287, 287, 287},
            {  262, 269, 260, 292, 169, 188, 169, 244, 206, 171, 208, 117, 117, 254, 254, 254},
            {  256, 263, 245, 283, 153, 163, 139, 217, 163, 126, 164, 128, 128, 219, 219, 219},
            {  258, 258, 229, 275, 138, 138, 110, 190, 121, 83, 121, 80, 80, 186, 186, 186}
        },
        /* au16EdgeStr     */
        /* ISO */
        /* 100,    200,    400,    800,   1600,   3200,   6400,  12800,  25600,  51200, 102400, 204800, 409600, 819200,1638400, 3276800 */
        {   {  250,    256,    201,    279,    250,    260,    248,    320,    432,    258,    307,    224,    224,    224,    224,    224},
            {  250, 260, 215, 296, 262, 265, 258, 337, 440, 271, 321, 244, 244, 244, 244, 244},
            {  250, 264, 230, 314, 276, 271, 269, 355, 451, 286, 338, 265, 265, 265, 265, 265},
            {  250, 268, 244, 332, 288, 277, 279, 373, 466, 299, 354, 285, 285, 285, 285, 285},
            {  250, 272, 256, 350, 298, 283, 288, 390, 485, 311, 370, 303, 303, 303, 303, 303},
            {  250, 276, 262, 368, 302, 288, 293, 406, 503, 319, 384, 319, 319, 319, 319, 319},
            {  250, 280, 266, 384, 304, 293, 295, 421, 523, 326, 398, 333, 333, 333, 333, 333},
            {  250, 286, 269, 398, 305, 298, 297, 436, 544, 332, 411, 346, 346, 346, 346, 346},
            {  250, 292, 273, 411, 307, 303, 300, 451, 565, 338, 425, 357, 357, 357, 357, 357},
            {  249, 299, 277, 420, 309, 306, 302, 463, 584, 344, 439, 364, 364, 364, 364, 364},
            {  249, 307, 282, 428, 311, 309, 303, 475, 603, 349, 454, 370, 370, 370, 370, 370},
            {  249, 316, 289, 434, 314, 312, 305, 486, 622, 355, 468, 374, 374, 374, 374, 374},
            {  248, 326, 292, 439, 317, 315, 309, 498, 641, 360, 478, 379, 379, 379, 379, 379},
            {  248, 335, 295, 442, 320, 317, 314, 511, 658, 363, 483, 384, 384, 384, 384, 384},
            {  248, 344, 298, 445, 323, 319, 322, 524, 671, 367, 484, 390, 390, 390, 390, 390},
            {  247, 351, 301, 447, 327, 320, 329, 538, 673, 369, 484, 394, 394, 394, 394, 394},
            {  247, 357, 303, 449, 330, 322, 336, 550, 674, 372, 485, 398, 398, 398, 398, 398},
            {  246, 361, 303, 450, 332, 323, 340, 563, 683, 372, 485, 398, 398, 398, 398, 398},
            {  245, 364, 303, 450, 334, 323, 343, 575, 690, 372, 485, 398, 398, 398, 398, 398},
            {  244, 366, 303, 450, 336, 323, 347, 585, 695, 373, 485, 398, 398, 398, 398, 398},
            {  243, 366, 303, 448, 336, 323, 350, 590, 696, 373, 485, 398, 398, 398, 398, 398},
            {  242, 366, 303, 445, 337, 323, 353, 594, 697, 373, 485, 398, 398, 398, 398, 398},
            {  241, 366, 303, 441, 337, 322, 356, 597, 696, 373, 485, 399, 399, 399, 399, 399},
            {  241, 366, 303, 436, 338, 322, 360, 600, 697, 373, 485, 402, 402, 402, 402, 402},
            {  240, 365, 303, 429, 338, 322, 363, 601, 697, 373, 485, 405, 405, 405, 405, 405},
            {  239, 363, 303, 422, 339, 321, 367, 600, 698, 373, 485, 408, 408, 408, 408, 408},
            {  238, 361, 303, 413, 340, 321, 370, 600, 699, 373, 485, 411, 411, 411, 411, 411},
            {  238, 359, 303, 403, 342, 321, 374, 600, 700, 373, 485, 413, 413, 413, 413, 413},
            {  237, 356, 303, 393, 343, 320, 376, 600, 700, 373, 485, 411, 411, 411, 411, 411},
            {  236, 353, 303, 383, 342, 320, 379, 600, 700, 373, 485, 408, 408, 408, 408, 408},
            {  235, 351, 303, 373, 341, 319, 382, 600, 700, 373, 485, 405, 405, 405, 405, 405},
            {  235, 349, 303, 364, 339, 319, 385, 600, 700, 373, 485, 402, 402, 402, 402, 402}
        },
        /* au16TextureFreq */
        /* ISO */
        /* 100,    200,    400,    800,    1600,    3200,    6400,   12800,   25600,   51200,  102400,  204800,  409600,  819200, 1638400, 3276800 */
        {  160,    170,    180,    180,     160,     160,     155,     170,     170,     170,     170,     170,     170,     170,     170,    170},

        /* au16EdgeFreq */
        {  130,    115,    100,    100,     100,     100,     100,     100,     100,     100,      96,      96,      96,      96,      96,     96},

        /* au8OverShoot */
        {   58,     70,     75,     70,      65,      55,      40,      40,      30,      30,      40,      40,      10,      10,      10,     10},

        /* au8UnderShoot */
        {   70,     87,     90,     80,      80,      70,      60,      55,      45,      45,      50,      50,      15,      15,      15,     15},

        /* au16shootSupStr */
        {    8,      8,      7,       7,      7,       6,       5,       5,       0,       0,       0,       0,       0,       0,       0,      0},

        /* au8ShootSupAdj */
        {    9,      9,      8,       8,      7,       7,       6,       6,       0,       0,       0,       0,       0,       0,       0,      0},

        /* au8DetailCtrl */
        {  128,    128,    128,     128,    128,     128,     128,     128,     128,     128,     120,     120,     120,     120,     120,    120},

        /* au8DetailCtrlThr */
        {  160,    160,    160,     160,    160,     160,     160,     160,     160,     160,     160,     160,     160,     160,     160,    160},

        /* au8EdgeFiltStr */
        {   50,     50,     50,      55,     57,      60,      61,      62,      62,      62,      62,      62,      62,      62,      62,     62},
        /*au8EdgeFiltMaxCap*/
        { 18,   18,    18,  18,    18,   18,    18,    18,      18,   18,    18,    18,    18,    18,    18,   18 },
        /* au8RGain */
        {   28,     31,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8GGain */
        {   31,     31,     31,      31,     16,      16,      16,      16,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8BGain */
        {   31,     31,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* au8SkinGain */
        {   25,     27,     31,      31,     31,      31,      31,      31,      31,      31,      31,      31,      31,      31,      31,     31},

        /* u8MaxSharpGain */
        {   67,     70,     72,      74,     80,      80,      80,      80,      80,      80,      80,      80,      80,      80,      80,     80},
        /* au8WeakDetailGain                          */
        {   0,       0,     0,       0,     0,      0,         0,         0,     0,         0,     0,      0,      0,      0,        0,      0  }

    },
};

static AWB_CCM_S g_stAwbCcm = {
    4,
    {
        {
            6052,
            {
                0x01BD,  0x80A3,  0x801A,
                0x806A,  0x01E3,  0x8079,
                0x8022,  0x80E2,  0x0204,
            },
        },

        {
            4908,
            {
                0x01C2,  0x80A8,  0x801A,
                0x8074,  0x01D2,  0x805E,
                0x802B,  0x8128,  0x0253,
            },
        },

        {
            3731,
            {
                0x01DF,  0x80D6,  0x8009,
                0x8085,  0x01CF,  0x804A,
                0x8027,  0x811A,  0x0241,
            },
        },
        {
            2632,
            {
                0x0184,  0x805B,  0x8029,
                0x80BC,  0x0207,  0x804B,
                0x8094,  0x8242,  0x03D6,
            },
        },

    },
};

static AWB_AGC_TABLE_S g_stAwbAgcTable = {
    /* bvalid */
    1,

    /* saturation */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {0x80, 0x78, 0x73, 0x6E, 0x69, 0x5F, 0x58, 0x50, 0x48, 0x40, 0x38, 0x38, 0x38, 0x38,  0x38,  0x38}
};

static const ISP_CMOS_WDR_S g_stIspWDR = {
    /* bFusionMode */
    0,

    /* bMotionComp */
    1,

    /* u16ShortThr */
    4032,

    /* u16LongThr */
    3008,

    /* bForceLong */
    1,

    /* u16ForceLongLowThr */

    500,

    /* u16ForceLongHigThr */
    700,

    /* bShortExpoChk */
    0,

    /* u16ShortCheckThd */
    0x8,

    /* au8MdThrLowGain[16] */
    /* 1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    { 64,   64,   64,   64,  128,  255,  255,  255,  255,  255,  255,  255,  255,  255,   255,   255},

    /* au8MdThrHigGain[16] */
    {128,  128,  128,  128,  128,  255,  255,  255,  255,  255,  255,  255,  255,  255,   255,   255},

    /* au16FusionThr[2] */
    {3855, 3000},

    /* u8MdtStillThd */
    0x14,

    /* u8MdtLongBlend */
    0x0
};

static const ISP_CMOS_DEHAZE_S g_stIspDehaze = {
    /* bEnable */
    0,
    /* bUserLutEnable */
    0,
    /* enOpType */
    0,
    /* u8AutoStrength */
    128,
    /* u8ManualStrength */
    128
};

static const ISP_CMOS_DEHAZE_S g_stIspDehazeWDR = {
    /* bEnable */
    1,
    /* bUserLutEnable */
    1,
    /* enOpType */
    1,
    /* u8AutoStrength */
    100,
    /* u8ManualStrength */
    128
};


static const ISP_CMOS_DRC_S g_stIspDRC = {
    /* bEnable */
    0,
    /* enOpType */
    0,
    /* u16ManualStrength */
    512,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    1,
    /* u8RangeFltCoef */
    2,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    0,
    /* u8RangeAdaMax */
    8,
    /* u8FltScaleFine */
    6,
    /* u8FltScaleCoarse */
    6,
    /* u8GradRevMax */
    64,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    12,
    /* u8BrightGainLmtStep */
    8,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    64,
    /* u8LocalMixingBrightMin */
    32,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    64,
    /* u8LocalMixingDarkMin */
    32,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    {831, 928, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024},
    /* ToneMappingValue[200] */
    {8, 8, 16, 24, 31, 39, 48, 56, 65, 75, 85, 95, 106, 118, 130, 143, 156, 170, 185, 201, 218, 235, 254, 274, 294, 316, 339, 364, 390, 417, 446, 477, 509, 543, 579, 617, 658, 701, 746, 794, 844, 898, 955, 1015, 1078, 1145, 1216,
     1291, 1370, 1454, 1543, 1637, 1736, 1841, 1952, 2069, 2194, 2325, 2465, 2612, 2767, 2932, 3106, 3290, 3485, 3691, 3909, 4140, 4384, 4641, 4914, 5202, 5507, 5830, 6171, 6531, 6913, 7316, 7742, 8193, 8669, 9173, 9705, 10268,
     10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635, 19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451, 26959, 27473, 27995, 28524,
     29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706, 36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008, 45424, 45842, 46265, 46691,
     47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113, 52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429, 58697, 58967, 59238, 59510,
     59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877, 63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234},
    /* u8Asymmetry */
    2,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    54,
    /* u8Compress */
    180,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    {0, 200, 400, 600, 1000},
    /* au16Ypoint */
    {0, 200, 400, 600, 1000},
    /* au16Slope */
    {1000, 1000, 1000, 1000, 1000}
};

static const ISP_CMOS_DRC_S g_stIspDRCWDR = {
    /* bEnable */
    1,
    /* enOpType */
    0,
    /* u16ManualStrength */
    1023,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    0,
    /* u8RangeFltCoef */
    1,
    /* u8ContrastControl */
    9,
    /* s8DetailAdjustFactor */
    12,
    /* u8RangeAdaMax */
    4,
    /* u8FltScaleFine */
    3,
    /* u8FltScaleCoarse */
    3,
    /* u8GradRevMax */
    30,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    12,
    /* u8BrightGainLmtStep */
    10,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    36,
    /* u8LocalMixingBrightMin */
    24,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    36,
    /* u8LocalMixingDarkMin */
    24,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    {1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 772, 768, 764, 760, 756, 752, 748, 744, 740, 736, 732, 728, 724, 720, 716, 712, 708, 704, 700},
    /* ToneMappingValue[200] */
    {8, 8, 16, 24, 31, 39, 48, 56, 65, 75, 85, 95, 106, 118, 130, 143, 156, 170, 185, 201, 218, 235, 254, 274, 294, 316, 339, 364, 390, 417, 446, 477, 509, 543, 579, 617, 658, 701, 746, 794, 844, 898, 955, 1015, 1078, 1145, 1216,
     1291, 1370, 1454, 1543, 1637, 1736, 1841, 1952, 2069, 2194, 2325, 2465, 2612, 2767, 2932, 3106, 3290, 3485, 3691, 3909, 4140, 4384, 4641, 4914, 5202, 5507, 5830, 6171, 6531, 6913, 7316, 7742, 8193, 8669, 9173, 9705, 10268,
     10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635, 19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451, 26959, 27473, 27995, 28524,
     29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706, 36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008, 45424, 45842, 46265, 46691,
     47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113, 52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429, 58697, 58967, 59238, 59510,
     59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877, 63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234},
    /* u8Asymmetry */
    6,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    50,
    /* u8Compress */
    150,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    {0, 200, 400, 600, 1000},
    /* au16Ypoint */
    {0, 200, 400, 600, 1000},
    /* au16Slope */
    {1000, 1000, 1000, 1000, 1000}
};

static const ISP_CMOS_CA_S g_stIspCA = {
    /* CA */
    0,
    /* Y */
    {
        516, 525, 534, 544, 554, 563, 573, 583, 594, 604, 614, 624, 634, 644, 654, 664,
        674, 684, 694, 704, 713, 723, 732, 741, 750, 758, 766, 775, 782, 790, 797, 804,
        811, 817, 823, 828, 834, 839, 844, 848, 853, 857, 861, 865, 868, 872, 875, 878,
        881, 884, 887, 890, 892, 895, 898, 900, 903, 905, 908, 910, 913, 915, 918, 921,
        924, 926, 929, 932, 935, 937, 940, 943, 945, 948, 950, 952, 955, 957, 959, 961,
        964, 966, 968, 970, 972, 974, 976, 978, 979, 981, 983, 985, 987, 988, 990, 992,
        993, 994, 995, 996, 997, 998, 998, 999, 1000, 1001, 1002, 1002, 1003, 1004, 1005, 1006,
        1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1022, 1024
    },
    /* ISO */
    /*  1,    2,    4,    8,   16,   32,   64,  128,  256,  512, 1024, 2048, 4096, 8192, 16384, 32768 */
    {1300, 1300, 1250, 1200, 1150, 1100, 1050, 1000,  950,  900,  900,  800,  800,  800,   800,   800}
};


static const ISP_CMOS_LSC_S g_stCmosLsc = {
    /* MeshStrength */
    256,
    /* MeshScale */
    1,
    /* ISP_LSC_CABLI_TABLE_S */
    {
        {
            // Rgain:
            {
                505, 442, 395, 360, 337, 319, 308, 297, 296, 297, 305, 320, 336, 365, 395, 447, 516,
                481, 426, 384, 353, 326, 311, 297, 289, 287, 291, 296, 310, 326, 353, 383, 429, 490,
                452, 410, 366, 339, 314, 297, 287, 279, 277, 279, 285, 298, 314, 337, 368, 414, 466,
                440, 395, 355, 325, 304, 289, 274, 270, 267, 271, 276, 286, 305, 326, 355, 397, 447,
                428, 384, 347, 318, 295, 280, 269, 265, 264, 264, 270, 280, 296, 320, 348, 384, 434,
                419, 379, 342, 315, 293, 277, 268, 264, 263, 264, 266, 276, 294, 316, 343, 383, 430,
                417, 377, 337, 311, 290, 274, 267, 264, 262, 264, 266, 274, 291, 311, 342, 378, 427,
                410, 371, 334, 306, 287, 271, 266, 260, 259, 260, 265, 272, 287, 308, 336, 373, 416,
                406, 368, 330, 304, 282, 269, 263, 258, 256, 258, 261, 270, 283, 303, 332, 368, 414,
                409, 366, 332, 304, 284, 269, 264, 258, 257, 259, 262, 269, 284, 306, 335, 370, 415,
                414, 372, 335, 307, 286, 272, 266, 263, 260, 260, 264, 273, 288, 310, 339, 376, 422,
                419, 380, 342, 313, 290, 276, 268, 265, 263, 264, 267, 274, 292, 314, 344, 381, 428,
                425, 382, 344, 316, 296, 280, 270, 266, 265, 265, 269, 278, 295, 317, 347, 387, 434,
                429, 387, 350, 319, 298, 282, 271, 267, 266, 266, 271, 282, 300, 323, 353, 392, 442,
                449, 399, 357, 331, 306, 288, 278, 272, 270, 272, 277, 289, 308, 330, 360, 402, 453,
                469, 417, 371, 342, 317, 300, 289, 280, 281, 282, 288, 301, 316, 343, 372, 419, 477,
                486, 431, 383, 354, 329, 311, 298, 292, 289, 291, 299, 312, 331, 355, 388, 430, 497
            },
            // GrGain:
            {
                461, 411, 370, 348, 326, 312, 300, 295, 294, 295, 302, 313, 328, 349, 379, 420, 477,
                443, 396, 362, 337, 316, 302, 292, 285, 283, 284, 292, 301, 319, 340, 364, 403, 457,
                420, 380, 347, 326, 307, 292, 281, 275, 274, 274, 281, 292, 307, 327, 354, 388, 432,
                402, 368, 339, 315, 295, 284, 271, 266, 264, 266, 272, 281, 296, 315, 340, 374, 414,
                400, 361, 330, 309, 290, 275, 265, 262, 263, 262, 267, 275, 291, 310, 334, 365, 407,
                390, 357, 327, 305, 287, 273, 265, 262, 262, 261, 264, 272, 286, 307, 331, 362, 401,
                385, 355, 324, 302, 286, 272, 265, 264, 261, 261, 265, 272, 285, 303, 328, 358, 399,
                384, 352, 321, 299, 282, 268, 264, 260, 259, 260, 262, 268, 281, 300, 325, 353, 391,
                378, 349, 317, 294, 277, 265, 261, 256, 256, 257, 260, 265, 277, 296, 320, 350, 387,
                379, 346, 318, 295, 278, 266, 261, 258, 256, 256, 260, 264, 279, 297, 320, 349, 387,
                387, 352, 321, 298, 279, 268, 264, 260, 259, 260, 262, 266, 282, 299, 324, 354, 391,
                390, 355, 326, 301, 284, 272, 266, 263, 261, 263, 265, 272, 287, 303, 329, 361, 396,
                393, 357, 330, 305, 286, 274, 266, 264, 263, 263, 265, 274, 288, 306, 331, 366, 401,
                400, 363, 331, 307, 289, 275, 267, 264, 262, 264, 266, 276, 291, 310, 336, 371, 410,
                406, 372, 339, 315, 296, 279, 273, 268, 266, 268, 272, 283, 297, 317, 342, 375, 420,
                426, 387, 348, 325, 305, 291, 282, 274, 274, 275, 282, 294, 306, 327, 355, 391, 436,
                445, 400, 362, 333, 312, 299, 289, 284, 281, 283, 289, 302, 318, 337, 365, 403, 459
            },
            // GbGain:
            {
                459, 411, 372, 346, 326, 309, 301, 294, 289, 291, 300, 310, 326, 347, 377, 417, 472,
                442, 394, 362, 337, 314, 300, 291, 284, 280, 283, 289, 300, 317, 338, 364, 402, 453,
                422, 380, 347, 326, 306, 290, 280, 274, 273, 274, 279, 290, 305, 325, 352, 388, 432,
                409, 369, 338, 314, 295, 284, 270, 266, 265, 265, 270, 280, 297, 315, 340, 371, 418,
                401, 360, 330, 307, 288, 274, 266, 262, 261, 260, 265, 274, 290, 309, 333, 364, 405,
                394, 356, 327, 305, 286, 272, 264, 262, 260, 261, 264, 271, 286, 305, 330, 361, 401,
                391, 355, 325, 302, 284, 270, 264, 262, 260, 260, 262, 270, 284, 303, 330, 357, 394,
                387, 352, 321, 299, 280, 268, 263, 259, 258, 259, 261, 268, 280, 299, 324, 353, 390,
                380, 348, 317, 295, 277, 265, 260, 256, 256, 256, 260, 264, 278, 294, 319, 347, 388,
                381, 347, 317, 294, 277, 265, 260, 256, 256, 256, 260, 264, 277, 295, 318, 349, 387,
                388, 352, 322, 298, 279, 268, 263, 259, 257, 257, 260, 267, 279, 299, 323, 354, 389,
                392, 355, 325, 303, 284, 270, 265, 263, 260, 261, 264, 271, 283, 303, 328, 357, 398,
                394, 360, 329, 305, 285, 272, 265, 262, 261, 261, 264, 273, 287, 305, 331, 364, 401,
                400, 365, 331, 307, 287, 274, 265, 263, 262, 263, 264, 275, 289, 309, 334, 369, 409,
                411, 371, 339, 314, 295, 279, 270, 266, 264, 267, 270, 281, 297, 317, 342, 377, 420,
                429, 387, 350, 324, 305, 290, 279, 274, 273, 275, 281, 292, 303, 326, 353, 392, 440,
                448, 397, 362, 336, 314, 299, 290, 283, 281, 283, 289, 301, 317, 336, 364, 403, 456
            },
            // BGain:
            {
                427, 384, 352, 330, 312, 297, 291, 281, 280, 280, 288, 301, 312, 330, 356, 391, 451,
                416, 379, 348, 329, 309, 297, 288, 280, 278, 281, 285, 295, 310, 330, 352, 388, 438,
                400, 368, 342, 320, 302, 286, 280, 273, 272, 273, 280, 286, 301, 319, 345, 377, 420,
                383, 359, 330, 310, 293, 282, 270, 264, 264, 265, 270, 278, 293, 312, 334, 363, 404,
                380, 350, 327, 304, 286, 273, 264, 262, 263, 261, 264, 272, 289, 305, 328, 356, 394,
                374, 348, 321, 302, 284, 272, 264, 262, 261, 262, 264, 272, 284, 302, 326, 355, 390,
                368, 344, 318, 302, 283, 272, 266, 262, 261, 262, 263, 271, 282, 301, 322, 350, 385,
                365, 342, 317, 294, 280, 267, 262, 259, 257, 258, 261, 266, 280, 296, 318, 346, 377,
                365, 342, 313, 291, 275, 264, 262, 258, 257, 256, 258, 263, 276, 294, 316, 344, 377,
                364, 342, 313, 293, 275, 264, 260, 258, 256, 256, 259, 263, 277, 293, 316, 344, 379,
                373, 344, 316, 296, 278, 268, 264, 262, 258, 259, 262, 266, 281, 297, 321, 348, 380,
                374, 348, 320, 299, 282, 271, 265, 263, 262, 262, 263, 272, 283, 303, 322, 352, 389,
                379, 350, 327, 302, 284, 273, 265, 264, 263, 262, 263, 272, 286, 304, 325, 360, 394,
                385, 358, 328, 305, 288, 275, 264, 264, 262, 263, 263, 273, 286, 308, 331, 364, 400,
                391, 363, 334, 312, 295, 281, 272, 267, 266, 267, 271, 279, 294, 314, 335, 366, 404,
                411, 378, 344, 321, 303, 291, 281, 276, 273, 275, 281, 291, 302, 320, 346, 380, 424,
                424, 385, 353, 329, 309, 296, 286, 282, 281, 281, 290, 296, 314, 331, 353, 390, 443
            },
        },

        {
            // Rgain:
            {
                505, 442, 395, 360, 337, 319, 308, 297, 296, 297, 305, 320, 336, 365, 395, 447, 516,
                481, 426, 384, 353, 326, 311, 297, 289, 287, 291, 296, 310, 326, 353, 383, 429, 490,
                452, 410, 366, 339, 314, 297, 287, 279, 277, 279, 285, 298, 314, 337, 368, 414, 466,
                440, 395, 355, 325, 304, 289, 274, 270, 267, 271, 276, 286, 305, 326, 355, 397, 447,
                428, 384, 347, 318, 295, 280, 269, 265, 264, 264, 270, 280, 296, 320, 348, 384, 434,
                419, 379, 342, 315, 293, 277, 268, 264, 263, 264, 266, 276, 294, 316, 343, 383, 430,
                417, 377, 337, 311, 290, 274, 267, 264, 262, 264, 266, 274, 291, 311, 342, 378, 427,
                410, 371, 334, 306, 287, 271, 266, 260, 259, 260, 265, 272, 287, 308, 336, 373, 416,
                406, 368, 330, 304, 282, 269, 263, 258, 256, 258, 261, 270, 283, 303, 332, 368, 414,
                409, 366, 332, 304, 284, 269, 264, 258, 257, 259, 262, 269, 284, 306, 335, 370, 415,
                414, 372, 335, 307, 286, 272, 266, 263, 260, 260, 264, 273, 288, 310, 339, 376, 422,
                419, 380, 342, 313, 290, 276, 268, 265, 263, 264, 267, 274, 292, 314, 344, 381, 428,
                425, 382, 344, 316, 296, 280, 270, 266, 265, 265, 269, 278, 295, 317, 347, 387, 434,
                429, 387, 350, 319, 298, 282, 271, 267, 266, 266, 271, 282, 300, 323, 353, 392, 442,
                449, 399, 357, 331, 306, 288, 278, 272, 270, 272, 277, 289, 308, 330, 360, 402, 453,
                469, 417, 371, 342, 317, 300, 289, 280, 281, 282, 288, 301, 316, 343, 372, 419, 477,
                486, 431, 383, 354, 329, 311, 298, 292, 289, 291, 299, 312, 331, 355, 388, 430, 497
            },
            // GrGain:
            {
                461, 411, 370, 348, 326, 312, 300, 295, 294, 295, 302, 313, 328, 349, 379, 420, 477,
                443, 396, 362, 337, 316, 302, 292, 285, 283, 284, 292, 301, 319, 340, 364, 403, 457,
                420, 380, 347, 326, 307, 292, 281, 275, 274, 274, 281, 292, 307, 327, 354, 388, 432,
                402, 368, 339, 315, 295, 284, 271, 266, 264, 266, 272, 281, 296, 315, 340, 374, 414,
                400, 361, 330, 309, 290, 275, 265, 262, 263, 262, 267, 275, 291, 310, 334, 365, 407,
                390, 357, 327, 305, 287, 273, 265, 262, 262, 261, 264, 272, 286, 307, 331, 362, 401,
                385, 355, 324, 302, 286, 272, 265, 264, 261, 261, 265, 272, 285, 303, 328, 358, 399,
                384, 352, 321, 299, 282, 268, 264, 260, 259, 260, 262, 268, 281, 300, 325, 353, 391,
                378, 349, 317, 294, 277, 265, 261, 256, 256, 257, 260, 265, 277, 296, 320, 350, 387,
                379, 346, 318, 295, 278, 266, 261, 258, 256, 256, 260, 264, 279, 297, 320, 349, 387,
                387, 352, 321, 298, 279, 268, 264, 260, 259, 260, 262, 266, 282, 299, 324, 354, 391,
                390, 355, 326, 301, 284, 272, 266, 263, 261, 263, 265, 272, 287, 303, 329, 361, 396,
                393, 357, 330, 305, 286, 274, 266, 264, 263, 263, 265, 274, 288, 306, 331, 366, 401,
                400, 363, 331, 307, 289, 275, 267, 264, 262, 264, 266, 276, 291, 310, 336, 371, 410,
                406, 372, 339, 315, 296, 279, 273, 268, 266, 268, 272, 283, 297, 317, 342, 375, 420,
                426, 387, 348, 325, 305, 291, 282, 274, 274, 275, 282, 294, 306, 327, 355, 391, 436,
                445, 400, 362, 333, 312, 299, 289, 284, 281, 283, 289, 302, 318, 337, 365, 403, 459
            },
            // GbGain:
            {
                459, 411, 372, 346, 326, 309, 301, 294, 289, 291, 300, 310, 326, 347, 377, 417, 472,
                442, 394, 362, 337, 314, 300, 291, 284, 280, 283, 289, 300, 317, 338, 364, 402, 453,
                422, 380, 347, 326, 306, 290, 280, 274, 273, 274, 279, 290, 305, 325, 352, 388, 432,
                409, 369, 338, 314, 295, 284, 270, 266, 265, 265, 270, 280, 297, 315, 340, 371, 418,
                401, 360, 330, 307, 288, 274, 266, 262, 261, 260, 265, 274, 290, 309, 333, 364, 405,
                394, 356, 327, 305, 286, 272, 264, 262, 260, 261, 264, 271, 286, 305, 330, 361, 401,
                391, 355, 325, 302, 284, 270, 264, 262, 260, 260, 262, 270, 284, 303, 330, 357, 394,
                387, 352, 321, 299, 280, 268, 263, 259, 258, 259, 261, 268, 280, 299, 324, 353, 390,
                380, 348, 317, 295, 277, 265, 260, 256, 256, 256, 260, 264, 278, 294, 319, 347, 388,
                381, 347, 317, 294, 277, 265, 260, 256, 256, 256, 260, 264, 277, 295, 318, 349, 387,
                388, 352, 322, 298, 279, 268, 263, 259, 257, 257, 260, 267, 279, 299, 323, 354, 389,
                392, 355, 325, 303, 284, 270, 265, 263, 260, 261, 264, 271, 283, 303, 328, 357, 398,
                394, 360, 329, 305, 285, 272, 265, 262, 261, 261, 264, 273, 287, 305, 331, 364, 401,
                400, 365, 331, 307, 287, 274, 265, 263, 262, 263, 264, 275, 289, 309, 334, 369, 409,
                411, 371, 339, 314, 295, 279, 270, 266, 264, 267, 270, 281, 297, 317, 342, 377, 420,
                429, 387, 350, 324, 305, 290, 279, 274, 273, 275, 281, 292, 303, 326, 353, 392, 440,
                448, 397, 362, 336, 314, 299, 290, 283, 281, 283, 289, 301, 317, 336, 364, 403, 456
            },
            // BGain:
            {
                427, 384, 352, 330, 312, 297, 291, 281, 280, 280, 288, 301, 312, 330, 356, 391, 451,
                416, 379, 348, 329, 309, 297, 288, 280, 278, 281, 285, 295, 310, 330, 352, 388, 438,
                400, 368, 342, 320, 302, 286, 280, 273, 272, 273, 280, 286, 301, 319, 345, 377, 420,
                383, 359, 330, 310, 293, 282, 270, 264, 264, 265, 270, 278, 293, 312, 334, 363, 404,
                380, 350, 327, 304, 286, 273, 264, 262, 263, 261, 264, 272, 289, 305, 328, 356, 394,
                374, 348, 321, 302, 284, 272, 264, 262, 261, 262, 264, 272, 284, 302, 326, 355, 390,
                368, 344, 318, 302, 283, 272, 266, 262, 261, 262, 263, 271, 282, 301, 322, 350, 385,
                365, 342, 317, 294, 280, 267, 262, 259, 257, 258, 261, 266, 280, 296, 318, 346, 377,
                365, 342, 313, 291, 275, 264, 262, 258, 257, 256, 258, 263, 276, 294, 316, 344, 377,
                364, 342, 313, 293, 275, 264, 260, 258, 256, 256, 259, 263, 277, 293, 316, 344, 379,
                373, 344, 316, 296, 278, 268, 264, 262, 258, 259, 262, 266, 281, 297, 321, 348, 380,
                374, 348, 320, 299, 282, 271, 265, 263, 262, 262, 263, 272, 283, 303, 322, 352, 389,
                379, 350, 327, 302, 284, 273, 265, 264, 263, 262, 263, 272, 286, 304, 325, 360, 394,
                385, 358, 328, 305, 288, 275, 264, 264, 262, 263, 263, 273, 286, 308, 331, 364, 400,
                391, 363, 334, 312, 295, 281, 272, 267, 266, 267, 271, 279, 294, 314, 335, 366, 404,
                411, 378, 344, 321, 303, 291, 281, 276, 273, 275, 281, 291, 302, 320, 346, 380, 424,
                424, 385, 353, 329, 309, 296, 286, 282, 281, 281, 290, 296, 314, 331, 353, 390, 443
            },
        },
    },
};


#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */


#endif /* __GC2053_FORCAR_CMOS_EX_H_ */
